#ifndef MYVEX_H
#define MYVEX_H

#include <QObject>
#include <QGraphicsItem>
#include <QVector>
#include <QPen>

class MyLine;

class MyVex :public QGraphicsEllipseItem
{
    public:
    int Vno; //编号
    int index;//对应于邻接矩阵行列的索引
    QString info; //信息（命名）
    QGraphicsTextItem *txt; //信息显示
    QVector<MyLine *> outlines; //出边
    QVector<MyLine *> inlines; //入边
    QBrush *brush; //笔刷（改颜色等等）
    QMenu *itemMenu; //右键菜单

    void setVirtual();//设置为虚点
    void setSolid();//设置为实点
    void showInfo(bool y);//y = true时显示顶点信息
    virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value); //重写itemchange，捕获移动和选择事件
    virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event); //右键菜单
    MyVex(int Vno,QMenu *itemMenu,QString str = "",QGraphicsItem *parent = nullptr);//构造函数

    ~MyVex();//析构



};

#endif // MYVEX_H
